<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_60) on Sun Dec 20 21:23:29 CET 2015 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Renderer (gephi 0.9.0 API)</title>
<meta name="date" content="2015-12-20">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Renderer (gephi 0.9.0 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Renderer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/gephi/preview/spi/PreviewUI.html" title="interface in org.gephi.preview.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/gephi/preview/spi/RenderTargetBuilder.html" title="interface in org.gephi.preview.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/gephi/preview/spi/Renderer.html" target="_top">Frames</a></li>
<li><a href="Renderer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.gephi.preview.spi</div>
<h2 title="Interface Renderer" class="title">Interface Renderer</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Renderer</span></pre>
<div class="block">Renderer describes how a particular <a href="../../../../org/gephi/preview/api/Item.html" title="interface in org.gephi.preview.api"><code>Item</code></a> object is rendered on a particular
 <a href="../../../../org/gephi/preview/api/RenderTarget.html" title="interface in org.gephi.preview.api"><code>RenderTarget</code></a> instance.
 <p>
 Renderers are the most essential parts of the Preview as they contain the code
 that actually draws the item on the canvas. Each item (e.g. node, edge) should
 have its renderer.
 <p>
 Rendering is a three-steps process:
 <ol><li>First the <code>preProcess()</code> method is called on all renderers
 to let them initialize additional attributes for their items. The best example
 is the edge renderer which will initialize the source and target position in the
 <code>EdgeItem</code> object during this phase. In general the <code>preProcess()</code>
 method is the best for complex algorithms or gathering data from other items. Note that
 the <code>preProcess()</code> method is called only once per refresh, unlike
 <code>render()</code> which is called many times.</li>
 <li>The <code>isRendererForitem()</code> is then used to determine which renderer
 should be used to render an item. The method provides an access to the preview
 properties. For instance, if the properties says the edge display is disabled,
 the edge renderer should return <code>false</code> for every item. Note that
 nothing avoids several renderer to returns <code>true</code> for the same item.</li>
 <li>The <code>render()</code> method is finally called for every item which
 the renderer returned <code>true</code> at <code>isRendererForitem()</code>.
 It receives the properties and the render target. It uses the item attributes
 and properties to determine item aspects and the render target to obtain the
 canvas.</li></ol>
 <p>
 Renderers also provide a list of <a href="../../../../org/gephi/preview/api/PreviewProperty.html" title="class in org.gephi.preview.api"><code>PreviewProperty</code></a> which the user can
 edit. All properties are put in the central <a href="../../../../org/gephi/preview/api/PreviewProperties.html" title="class in org.gephi.preview.api"><code>PreviewProperties</code></a> so though
 each renderer defines it's properties it can read/write any property through
 <code>PreviewProperties</code>.
 <p>
 If your plugin renderer extends one of the default renderers,
 your plugin renderer will automatically replace the extended renderer.
 This means the default renderer will not even be available in the renderers manager.
 <p>
 Also, if more than one plugin extends the same default renderer, the one with lowest position
 will be enabled by the default, but others will still be available for activation in the renderers manager.
 <p>
 The list of default renderers is the following (contained in Preview Plugin module);
 <ol>
 <li>org.gephi.preview.plugin.renderers.ArrowRenderer</li>
 <li>org.gephi.preview.plugin.renderers.EdgeLabelRenderer</li>
 <li>org.gephi.preview.plugin.renderers.EdgeRenderer</li>
 <li>org.gephi.preview.plugin.renderers.NodeLabelRenderer</li>
 <li>org.gephi.preview.plugin.renderers.NodeRenderer</li>
 </ol>
 <p>
 Renderers are singleton services and implementations need to add the
 following annotation to be recognized by the system:
 <p>
 <code>@ServiceProvider(service=Renderer.class, position=XXX)</code>
 <b>Position parameter optional but recommended</b> in order to control the default order in which the available renderers are executed.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Yudi Xue, Mathieu Bastian</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../org/gephi/preview/api/CanvasSize.html" title="class in org.gephi.preview.api">CanvasSize</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/gephi/preview/spi/Renderer.html#getCanvasSize-org.gephi.preview.api.Item-org.gephi.preview.api.PreviewProperties-">getCanvasSize</a></span>(<a href="../../../../org/gephi/preview/api/Item.html" title="interface in org.gephi.preview.api">Item</a>&nbsp;item,
             <a href="../../../../org/gephi/preview/api/PreviewProperties.html" title="class in org.gephi.preview.api">PreviewProperties</a>&nbsp;properties)</code>
<div class="block">Compute the canvas size of the item to render.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/gephi/preview/spi/Renderer.html#getDisplayName--">getDisplayName</a></span>()</code>
<div class="block">Provides an user friendly name for the renderer.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../org/gephi/preview/api/PreviewProperty.html" title="class in org.gephi.preview.api">PreviewProperty</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/gephi/preview/spi/Renderer.html#getProperties--">getProperties</a></span>()</code>
<div class="block">Returns all associated properties for this renderer.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/gephi/preview/spi/Renderer.html#isRendererForitem-org.gephi.preview.api.Item-org.gephi.preview.api.PreviewProperties-">isRendererForitem</a></span>(<a href="../../../../org/gephi/preview/api/Item.html" title="interface in org.gephi.preview.api">Item</a>&nbsp;item,
                 <a href="../../../../org/gephi/preview/api/PreviewProperties.html" title="class in org.gephi.preview.api">PreviewProperties</a>&nbsp;properties)</code>
<div class="block">Based on <code>properties</code>, determine whether this renderer is
 valid to render <code>Item</code>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/gephi/preview/spi/Renderer.html#needsItemBuilder-org.gephi.preview.spi.ItemBuilder-org.gephi.preview.api.PreviewProperties-">needsItemBuilder</a></span>(<a href="../../../../org/gephi/preview/spi/ItemBuilder.html" title="interface in org.gephi.preview.spi">ItemBuilder</a>&nbsp;itemBuilder,
                <a href="../../../../org/gephi/preview/api/PreviewProperties.html" title="class in org.gephi.preview.api">PreviewProperties</a>&nbsp;properties)</code>
<div class="block">Based on the <code>itemBuilder</code> class and the <code>properties</code>,
 determine whether this renderer needs the given <code>itemBuilder</code> to be
 executed before rendering.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/gephi/preview/spi/Renderer.html#preProcess-org.gephi.preview.api.PreviewModel-">preProcess</a></span>(<a href="../../../../org/gephi/preview/api/PreviewModel.html" title="interface in org.gephi.preview.api">PreviewModel</a>&nbsp;previewModel)</code>
<div class="block">This method is called before rendering for all renderers and initializes
 items' additional attributes or run complex algorithms.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/gephi/preview/spi/Renderer.html#render-org.gephi.preview.api.Item-org.gephi.preview.api.RenderTarget-org.gephi.preview.api.PreviewProperties-">render</a></span>(<a href="../../../../org/gephi/preview/api/Item.html" title="interface in org.gephi.preview.api">Item</a>&nbsp;item,
      <a href="../../../../org/gephi/preview/api/RenderTarget.html" title="interface in org.gephi.preview.api">RenderTarget</a>&nbsp;target,
      <a href="../../../../org/gephi/preview/api/PreviewProperties.html" title="class in org.gephi.preview.api">PreviewProperties</a>&nbsp;properties)</code>
<div class="block">Render <code>item</code> to <code>target</code> using the global properties
 and item data.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getDisplayName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDisplayName</h4>
<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDisplayName()</pre>
<div class="block">Provides an user friendly name for the renderer.
 This name will appear in the renderers manager UI.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>User friendly renderer name, not null</dd>
</dl>
</li>
</ul>
<a name="preProcess-org.gephi.preview.api.PreviewModel-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preProcess</h4>
<pre>void&nbsp;preProcess(<a href="../../../../org/gephi/preview/api/PreviewModel.html" title="interface in org.gephi.preview.api">PreviewModel</a>&nbsp;previewModel)</pre>
<div class="block">This method is called before rendering for all renderers and initializes
 items' additional attributes or run complex algorithms.
 <p>
 This method has access to any item using the <code>getItems()</code> methods
 of the preview model.
 <p>
 No data should be stored in the renderer itself but put in items using
 <a href="../../../../org/gephi/preview/api/Item.html#setData-java.lang.String-java.lang.Object-"><code>Item.setData(java.lang.String, java.lang.Object)</code></a>. Global states can
 be stored in properties using
 <a href="../../../../org/gephi/preview/api/PreviewProperties.html#putValue-java.lang.String-java.lang.Object-"><code>PreviewProperties.putValue(java.lang.String, java.lang.Object)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>previewModel</code> - the model to get items from</dd>
</dl>
</li>
</ul>
<a name="render-org.gephi.preview.api.Item-org.gephi.preview.api.RenderTarget-org.gephi.preview.api.PreviewProperties-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>render</h4>
<pre>void&nbsp;render(<a href="../../../../org/gephi/preview/api/Item.html" title="interface in org.gephi.preview.api">Item</a>&nbsp;item,
            <a href="../../../../org/gephi/preview/api/RenderTarget.html" title="interface in org.gephi.preview.api">RenderTarget</a>&nbsp;target,
            <a href="../../../../org/gephi/preview/api/PreviewProperties.html" title="class in org.gephi.preview.api">PreviewProperties</a>&nbsp;properties)</pre>
<div class="block">Render <code>item</code> to <code>target</code> using the global properties
 and item data.
 <p>
 The target can be one of the default target <a href="../../../../org/gephi/preview/api/G2DTarget.html" title="interface in org.gephi.preview.api"><code>G2DTarget</code></a>,
 <a href="../../../../org/gephi/preview/api/SVGTarget.html" title="interface in org.gephi.preview.api"><code>SVGTarget</code></a> or <a href="../../../../org/gephi/preview/api/PDFTarget.html" title="interface in org.gephi.preview.api"><code>PDFTarget</code></a>. Each target contains an access to
 it's drawing canvas so the renderer can draw visual items.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>item</code> - the item to be rendered</dd>
<dd><code>target</code> - the target to render the item on</dd>
<dd><code>properties</code> - the central properties</dd>
</dl>
</li>
</ul>
<a name="getProperties--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperties</h4>
<pre><a href="../../../../org/gephi/preview/api/PreviewProperty.html" title="class in org.gephi.preview.api">PreviewProperty</a>[]&nbsp;getProperties()</pre>
<div class="block">Returns all associated properties for this renderer. Properties can be built
 using static <code>PreviewProperty.createProperty()</code> methods.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a properties array</dd>
</dl>
</li>
</ul>
<a name="isRendererForitem-org.gephi.preview.api.Item-org.gephi.preview.api.PreviewProperties-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRendererForitem</h4>
<pre>boolean&nbsp;isRendererForitem(<a href="../../../../org/gephi/preview/api/Item.html" title="interface in org.gephi.preview.api">Item</a>&nbsp;item,
                          <a href="../../../../org/gephi/preview/api/PreviewProperties.html" title="class in org.gephi.preview.api">PreviewProperties</a>&nbsp;properties)</pre>
<div class="block">Based on <code>properties</code>, determine whether this renderer is
 valid to render <code>Item</code>.
 <p>
 Additional states in <code>properties</code> helps to make a decision,
 including:
 <ul>
 <li><b>PreviewProperty.DIRECTED:</b> If the graph is directed</li>
 <li><b>PreviewProperty.MOVING:</b> Specific to the Processing target, this
 is <code>true</code> if the user is currently moving the canvas. Renderers
 other than the node renderer usually render nothing while the user is moving
 to speeds things up.</li></ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>item</code> - the item to be tested</dd>
<dd><code>properties</code> - the current properties</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if <code>item</code> can be rendered by this
 renderer, <code>false</code> otherwise</dd>
</dl>
</li>
</ul>
<a name="needsItemBuilder-org.gephi.preview.spi.ItemBuilder-org.gephi.preview.api.PreviewProperties-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>needsItemBuilder</h4>
<pre>boolean&nbsp;needsItemBuilder(<a href="../../../../org/gephi/preview/spi/ItemBuilder.html" title="interface in org.gephi.preview.spi">ItemBuilder</a>&nbsp;itemBuilder,
                         <a href="../../../../org/gephi/preview/api/PreviewProperties.html" title="class in org.gephi.preview.api">PreviewProperties</a>&nbsp;properties)</pre>
<div class="block">Based on the <code>itemBuilder</code> class and the <code>properties</code>,
 determine whether this renderer needs the given <code>itemBuilder</code> to be
 executed before rendering.
 <p>
 This is used for <b>avoiding building unnecessary items</b> while refreshing preview.
 <p>
 You can simply return true if the builder builds items that this renderer renders,
 but you can also check the current properties to see if your renderer is going to produce any graphic.
 <p>

 Additional states in <code>properties</code> helps to make a decision,
 including:
 <ul>
 <li><b>PreviewProperty.DIRECTED:</b> If the graph is directed</li>
 <li><b>PreviewProperty.MOVING:</b> Specific to the Processing target, this
 is <code>true</code> if the user is currently moving the canvas. Renderers
 other than the node renderer usually render nothing while the user is moving
 to speeds things up.</li></ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>itemBuilder</code> - builder that your renderer may need</dd>
<dd><code>properties</code> - the current properties</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if you are going to use built items for rendering, <code>false</code> otherwise</dd>
</dl>
</li>
</ul>
<a name="getCanvasSize-org.gephi.preview.api.Item-org.gephi.preview.api.PreviewProperties-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getCanvasSize</h4>
<pre><a href="../../../../org/gephi/preview/api/CanvasSize.html" title="class in org.gephi.preview.api">CanvasSize</a>&nbsp;getCanvasSize(<a href="../../../../org/gephi/preview/api/Item.html" title="interface in org.gephi.preview.api">Item</a>&nbsp;item,
                         <a href="../../../../org/gephi/preview/api/PreviewProperties.html" title="class in org.gephi.preview.api">PreviewProperties</a>&nbsp;properties)</pre>
<div class="block">Compute the canvas size of the item to render.

 The returned <code>CanvasSize</code> has to embed the whole item to
 render. If the canvas size cannot be computed, a <code>CanvasSize</code>
 with both width and height equlal to zero is returned.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>item</code> - the item to get the canvas size</dd>
<dd><code>properties</code> - the current properties</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the item canvas size</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Renderer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/gephi/preview/spi/PreviewUI.html" title="interface in org.gephi.preview.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/gephi/preview/spi/RenderTargetBuilder.html" title="interface in org.gephi.preview.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/gephi/preview/spi/Renderer.html" target="_top">Frames</a></li>
<li><a href="Renderer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2015 <a href="http://consortium.gephi.org">Gephi Consortium</a>. All rights reserved.</small></p>
</body>
</html>
